home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesS-T.lzh / STUNRunner.lha / STUNRunner / Install next >
Text File  |  2002-05-20  |  10KB  |  351 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "data")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Manual")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "highs")        ;name of high scores file
  9. (set #prefix @app-name)            ;name of slave, directory
  10.  
  11. (set #ico_suffix_00 "inf")        ;Icon suffixes (not all of these must exist)
  12. (set #ico_suffix_01 "magicwb")
  13. (set #ico_suffix_02 "romicon")
  14. (set #ico_suffix_03 "newicon")
  15. (set #ico_suffix_04 "newexot")
  16. (set #ico_suffix_05 "coloricon")
  17. (set #ico_suffix_06 "colexot")
  18. (set #ico_suffix_07 "colfrank")
  19. (set #ico_suffix_08 "colchris")
  20. (set #ico_suffix_09 "colcode")
  21. (set #ico_suffix_10 "colcfou")
  22. (set #ico_suffix_11 "colakira")
  23.  
  24. ;                 "123456789012345678901234567"
  25. (set #ico_desc_00 "Normal")        ;Icon descriptions (max 21 chars if you have > 9 entries, or 27 chars otherwise. These are renamed to "gamename.info" so no illegal characters like :/* etc)
  26. (set #ico_desc_01 "MagicWB Icon")
  27. (set #ico_desc_02 "RomIcon")
  28. (set #ico_desc_03 "NewIcon")
  29. (set #ico_desc_04 "NewIcon by Exotica")
  30. (set #ico_desc_05 "OS3.5 Icon")
  31. (set #ico_desc_06 "OS3.5 Icon by Exotica")
  32. (set #ico_desc_07 "OS3.5 Icon by Frank")
  33. (set #ico_desc_08 "OS3.5 Icon by Chris Vella")
  34. (set #ico_desc_09 "OS3.5 Icon by Codetapper")
  35. (set #ico_desc_10 "OS3.5 Icon by CFou")
  36. (set #ico_desc_11 "OS3.5 Icon by Akira")
  37.  
  38. (procedure P_Install
  39.   (set #version
  40.     (askchoice
  41.       (prompt ("Which version of %s would you like to install?" @app-name))
  42.       (default 0)
  43.       (choices "Floppy Disk version" "CD version")
  44.       (help @askchoice-help)
  45.     )
  46.   )
  47.   (select #version
  48.     (
  49.       (set #AD_disk "DF0")
  50.       (P_disk)
  51.       (copyfiles
  52.         (help @copyfiles-help)
  53.         (source ("%s:" #AD_disk))
  54.         (dest #dest)
  55.         (pattern "~(c|devs|s|.#?|boot)")
  56.       )
  57.       ;(set #AD_disk "DF0")
  58.       ;(P_disk)
  59.       ;(copyfiles
  60.       ;  (help @copyfiles-help)
  61.       ;  (source ("%s:" #AD_disk))
  62.       ;  (dest #dest)
  63.       ;  (pattern "~(#?.info)")
  64.       ;)
  65.     )
  66.     (
  67.       (message ("\nInsert your %s CD in any drive." @app-name))
  68.       (copyfiles
  69.         (help @copyfiles-help)
  70.         (source "HolidayMakerCDTV:")
  71.         (pattern "(fonts|[1-9hnp]#?|de|map|se)")
  72.         (dest #dest)
  73.       )
  74.       (copyfiles
  75.         (help @copyfiles-help)
  76.         (source "HolidayMakerCDTV:libs")
  77.         (pattern "diskfont.library")
  78.         (dest #dest)
  79.       )
  80.     )
  81.   )
  82. )
  83.  
  84. ;****************************
  85. ;----------------------------
  86. ; checks if given program is installed, if not abort install
  87. ; #program - to check
  88.  
  89. (procedure P_ChkRun
  90.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  91.     ("")
  92.     (abort
  93.       (cat
  94.     "You must install \"" #program "\" first!\n"
  95.     "It must be accessible via the path.\n"
  96.     "You can find it in the WHDLoad package."
  97.       )
  98.     )
  99.   )
  100. )
  101.  
  102. ;----------------------------
  103. ; Wait for inserting disk
  104. ; IN:  #AD_disk - name of disk
  105. ; OUT: -
  106.  
  107. (procedure P_disk
  108.   ;(askdisk
  109.     ;(dest #AD_disk)
  110.     (message ("\nInsert STUN Runner game Disk in \"%s\"" #AD_disk))
  111.    ; (help @askdisk-help)
  112.  ; )
  113. )
  114.  
  115. ;----------------------------
  116. ; copy file including icon if exist
  117. ; #copy-file - name of file to copy
  118.  
  119. (procedure P_CopyFile
  120.   (if (exists #copy-file) (
  121.     (copyfiles
  122.       (help @copyfiles-help)
  123.       (source #copy-file)
  124.       (dest #dest)
  125.     )
  126.     (if (exists ("%s.info" #copy-file)) (
  127.       (copyfiles
  128.         (help @copyfiles-help)
  129.         (source ("%s.info" #copy-file))
  130.         (dest #dest)
  131.       )
  132.       (tooltype
  133.         (dest (tackon #dest #copy-file))
  134.         (noposition)
  135.       )
  136.     ))
  137.   ))
  138. )
  139.  
  140. ;****************************
  141.  
  142. (if (< @installer-version (+ (* 44 65536) 10))
  143.   (
  144.     (message
  145.       (cat
  146.         "Warning: your installer is outdated.\n"
  147.         "Some features of this installation won't be available, "
  148.         "such as icon show and drawer opening. "
  149.         "You have version " (/ @installer-version 65536) "." 
  150.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  151.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  152.         "You may also use the InstallerNG by Jens Tröger."
  153.         "\n\n"
  154.         "The installers can be obtained from the net:\n"
  155.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  156.         "aminet:util/sys/InstallerNG.lha"
  157.       )
  158.     )
  159.     (set #newstuff 0)
  160.   )
  161.   (set #newstuff 1)
  162. )
  163.  
  164. (if (exists #readme-file)
  165.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  166.     ("")
  167.     (run ("SYS:Utilities/More %s" #readme-file))
  168.   )
  169. )
  170.  
  171. (set #program "WHDLoad")
  172. (P_ChkRun)
  173.  
  174. (if (getenv "WHDLInstPath")
  175.   (set @default-dest (getenv "WHDLInstPath"))
  176. )
  177. (set #dest
  178.   (askdir
  179.     (prompt
  180.       (cat
  181.     "Where should \"" @app-name "\" be installed?\n"
  182.     "A drawer \"" #prefix "\" will be automatically created."
  183.       )
  184.     )
  185.     (help @askdir-help)
  186.     (default @default-dest)
  187.   )
  188. )
  189. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  190. (set #dest (tackon #dest #prefix))
  191. (if (exists #dest) (
  192.   (set #choice
  193.     (askbool
  194.       (prompt
  195.         (cat
  196.           "\nDirectory \"" #dest "\" already exists.\n"
  197.           "Should it be deleted?"
  198.         )
  199.       )
  200.       (default 1)
  201.       (choices "Delete" "Skip")
  202.       (help @askbool-help)
  203.     )
  204.   )
  205.   (if (= #choice 1)
  206.     (delete #dest
  207.       (help @delete-help)
  208.       (all)
  209.     )
  210.   )
  211. ))
  212. (makedir #dest
  213.   (help @makedir-help)
  214.   (infos)
  215. )
  216.  
  217. ;----------------------------
  218.  
  219. (copyfiles
  220.   (help @copyfiles-help)
  221.   (source ("%s.Slave" #prefix))
  222.   (dest #dest)
  223. )
  224. (set #icon 0)
  225. (if (exists ("%s.%s" #prefix #ico_suffix_11)) ((set #icon 11)(set #icnt (+ 1 #icnt))(set #icon_11 #ico_desc_11)) (set #icon_11 ""))
  226. (if (exists ("%s.%s" #prefix #ico_suffix_10)) ((set #icon 10)(set #icnt (+ 1 #icnt))(set #icon_10 #ico_desc_10)) (set #icon_10 ""))
  227. (if (exists ("%s.%s" #prefix #ico_suffix_09)) ((set #icon 9) (set #icnt (+ 1 #icnt))(set #icon_09 #ico_desc_09)) (set #icon_09 ""))
  228. (if (exists ("%s.%s" #prefix #ico_suffix_08)) ((set #icon 8) (set #icnt (+ 1 #icnt))(set #icon_08 #ico_desc_08)) (set #icon_08 ""))
  229. (if (exists ("%s.%s" #prefix #ico_suffix_07)) ((set #icon 7) (set #icnt (+ 1 #icnt))(set #icon_07 #ico_desc_07)) (set #icon_07 ""))
  230. (if (exists ("%s.%s" #prefix #ico_suffix_06)) ((set #icon 6) (set #icnt (+ 1 #icnt))(set #icon_06 #ico_desc_06)) (set #icon_06 ""))
  231. (if (exists ("%s.%s" #prefix #ico_suffix_05)) ((set #icon 5) (set #icnt (+ 1 #icnt))(set #icon_05 #ico_desc_05)) (set #icon_05 ""))
  232. (if (exists ("%s.%s" #prefix #ico_suffix_04)) ((set #icon 4) (set #icnt (+ 1 #icnt))(set #icon_04 #ico_desc_04)) (set #icon_04 ""))
  233. (if (exists ("%s.%s" #prefix #ico_suffix_03)) ((set #icon 3) (set #icnt (+ 1 #icnt))(set #icon_03 #ico_desc_03)) (set #icon_03 ""))
  234. (if (exists ("%s.%s" #prefix #ico_suffix_02)) ((set #icon 2) (set #icnt (+ 1 #icnt))(set #icon_02 #ico_desc_02)) (set #icon_02 ""))
  235. (if (exists ("%s.%s" #prefix #ico_suffix_01)) ((set #icon 1) (set #icnt (+ 1 #icnt))(set #icon_01 #ico_desc_01)) (set #icon_01 ""))
  236. (if (exists ("%s.%s" #prefix #ico_suffix_00)) ((set #icon 0) (set #icnt (+ 1 #icnt))(set #icon_00 #ico_desc_00)) (set #icon_00 ""))
  237. (procedure P_Icon
  238.   (copyfiles
  239.     (help @copyfiles-help)
  240.     (source ("%s.%s" #prefix #icon-suf))
  241.     (newname ("%s.info" #icon-name))
  242.     (dest #icon-dir)
  243.   )
  244.   (tooltype
  245.     (dest (tackon #icon-dir #icon-name))
  246.     (noposition)
  247.   )
  248. )
  249. (if (> #icnt 1) (
  250.   (if (= #newstuff 1) (
  251.     (set #icon-dir ("T:%s Icons" #prefix))
  252.     (makedir #icon-dir
  253.       (help @makedir-help)
  254.     )
  255.     (if #icon_00 ((set #icon-suf #ico_suffix_00) (set #icon-name #ico_desc_00) (P_Icon)))
  256.     (if #icon_01 ((set #icon-suf #ico_suffix_01) (set #icon-name #ico_desc_01) (P_Icon)))
  257.     (if #icon_02 ((set #icon-suf #ico_suffix_02) (set #icon-name #ico_desc_02) (P_Icon)))
  258.     (if #icon_03 ((set #icon-suf #ico_suffix_03) (set #icon-name #ico_desc_03) (P_Icon)))
  259.     (if #icon_04 ((set #icon-suf #ico_suffix_04) (set #icon-name #ico_desc_04) (P_Icon)))
  260.     (if #icon_05 ((set #icon-suf #ico_suffix_05) (set #icon-name #ico_desc_05) (P_Icon)))
  261.     (if #icon_06 ((set #icon-suf #ico_suffix_06) (set #icon-name #ico_desc_06) (P_Icon)))
  262.     (if #icon_07 ((set #icon-suf #ico_suffix_07) (set #icon-name #ico_desc_07) (P_Icon)))
  263.     (if #icon_08 ((set #icon-suf #ico_suffix_08) (set #icon-name #ico_desc_08) (P_Icon)))
  264.     (if #icon_09 ((set #icon-suf #ico_suffix_09) (set #icon-name #ico_desc_09) (P_Icon)))
  265.     (if #icon_10 ((set #icon-suf #ico_suffix_10) (set #icon-name #ico_desc_10) (P_Icon)))
  266.     (if #icon_11 ((set #icon-suf #ico_suffix_11) (set #icon-name #ico_desc_11) (P_Icon)))
  267.     (openwbobject #icon-dir)
  268.   ))
  269.   (set #icon
  270.     (askchoice
  271.       (prompt "\nWhich icon would you like to install?\n")
  272.       (choices #icon_00 #icon_01 #icon_02 #icon_03 #icon_04 #icon_05 #icon_06 #icon_07 #icon_08 #icon_09 #icon_10 #icon_11)
  273.       (default #icon)
  274.       (help @askchoice-help)
  275.     )
  276.   )
  277.   (if (= #newstuff 1) (
  278.     (closewbobject #icon-dir)
  279.     (delete #icon-dir
  280.       (help @delete-help)
  281.       (all)
  282.     )
  283.   ))
  284. ))
  285. (select #icon
  286.   (set #icon #ico_suffix_00)
  287.   (set #icon #ico_suffix_01)
  288.   (set #icon #ico_suffix_02)
  289.   (set #icon #ico_suffix_03)
  290.   (set #icon #ico_suffix_04)
  291.   (set #icon #ico_suffix_05)
  292.   (set #icon #ico_suffix_06)
  293.   (set #icon #ico_suffix_07)
  294.   (set #icon #ico_suffix_08)
  295.   (set #icon #ico_suffix_09)
  296.   (set #icon #ico_suffix_10)
  297.   (set #icon #ico_suffix_11)
  298. )
  299. (copyfiles
  300.   (help @copyfiles-help)
  301.   (source ("%s.%s" #prefix #icon))
  302.   (newname ("%s.info" #prefix))
  303.   (dest #dest)
  304. )
  305. (if (= #icon "newicon")
  306.   ("")
  307.   (
  308.     (tooltype
  309.       (dest (tackon #dest #prefix))
  310.       (settooltype "Slave")
  311.       (settooltype "PreLoad")
  312.     )
  313.     (tooltype
  314.       (dest (tackon #dest #prefix))
  315.       (settooltype "PreLoad" "")
  316.       (settooltype "Slave" ("%s.Slave" #prefix))
  317.     )
  318.   )
  319. )
  320. (tooltype
  321.   (dest (tackon #dest #prefix))
  322.   (setdefaulttool "WHDLoad")
  323.   (setstack 10240)
  324.   (noposition)
  325. )
  326. (set #copy-file #readme-file)
  327. (P_CopyFile)
  328. (set #copy-file #man-file)
  329. (P_CopyFile)
  330. (set #copy-file #hint-file)
  331. (P_CopyFile)
  332. (set #copy-file #sol-file)
  333. (P_CopyFile)
  334. (set #dest-org #dest)
  335. (if (= #sub-dir "")
  336.   ("")
  337.   (
  338.     (set #dest (tackon #dest #sub-dir))
  339.     (makedir #dest
  340.       (help @makedir-help)
  341.     )
  342.   )
  343. )
  344. (set #copy-file #highs-file)
  345. (P_CopyFile)
  346. (P_Install)
  347. (if (= #newstuff 1)
  348.   (openwbobject #dest-org)
  349. )
  350. (exit)
  351.